package com.naiterui.ehp.bs.recommend.vo.param;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import io.swagger.annotations.ApiModelProperty;


/**
 * 推荐用药明细
 *
 * @author guoyongxiang
 * @since 2.9.0
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class RecomItemParamVO implements Serializable {


    /**
     * 字段或域定义：<code>serialVersionUID</code>
     */
    private static final long serialVersionUID = 1813801038242464339L;

    /**
     * 商品编号
     */
    @ApiModelProperty(value = "商品ID", required = true)
    private Long productId;

    /**
     * 商品sku编号
     */
    @ApiModelProperty(value = "skuId", required = true)
    private Long skuId;

    /**
     * 商品价格 YC-0827版本新增
     */
    @ApiModelProperty(value = "商品价格")
    private String salePrice;

    /**
     * 商品名称
     */
    @ApiModelProperty(value = "商品名", required = true)
    private String productName;

    /**
     * 通用名
     */
    @ApiModelProperty(value = "通用名", required = true)
    private String commonName;
    /**
     * 处方药品名称
     */
    private String recomName;

    /**
     * 推荐购买数量
     */
    @ApiModelProperty(value = "数量", required = true)
    private int quantity;

    /**
     * 用法用量
     */
    @ApiModelProperty(value = "用法用量", required = true)
    private String usage;

    /**
     * 备注
     */
    @ApiModelProperty(value = "用药备注", required = true)
    private String backup;

    /**
     * 用量周期
     */
    @ApiModelProperty(value = "用量周期(每[2]日1次,有0.5的情况)")
    private Double dosageCycle;

    /**
     * 用量周期单位
     */
    @ApiModelProperty(value = "用量周期单位(每2[日]1次)")
    private String dosageCycleUnit;

    /**
     * 用量次数
     */
    @ApiModelProperty(value = "用量次数(每2日[1]次,有若干次的情况)")
    private String dosageCount;

    /**
     * 每次用量
     */
    @ApiModelProperty(value = "每次用量(每次[3]片,有适量的情况)")
    private String eachDosageCount;

    /**
     * 每次用量单位
     */
    @ApiModelProperty(value = "每次用量单位(每次3[片])")
    private String eachDoseUnit;

    /**
     * 用药周期
     */
    @ApiModelProperty(value = "用药周期([2]周)")
    private Double drugCycle;

    /**
     * 用药周期单位
     */
    @ApiModelProperty(value = "用药周期单位(2[周])")
    private String drugCycleUnit;

    /**
     * 推荐数量单位
     */
    @ApiModelProperty(value = "推荐数量单位(2[盒])")
    private String quantityUnit;

    /**
     * 服用方法
     */
    @ApiModelProperty(value = "服用方法(饭前[口服])")
    private String usageMethod;

    /**
     * 服用时间
     */
    @ApiModelProperty(value = "服用时间([饭前]口服)")
    private String usageTime;

    /**
     * 是否包含用法用量详情
     */
    @ApiModelProperty(value = "是否包含用法用量详情(新版本为true)")
    private boolean containUsageDetail;

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getCommonName() {
        return commonName;
    }

    public void setCommonName(String commonName) {
        this.commonName = commonName;
    }

    public int getQuantity() {
        return quantity;
    }

    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }

    public String getUsage() {
        return usage;
    }

    public void setUsage(String usage) {
        this.usage = usage;
    }

    public String getBackup() {
        return backup;
    }

    public void setBackup(String backup) {
        this.backup = backup;
    }

    public Double getDosageCycle() {
        return dosageCycle;
    }

    public String getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(String salePrice) {
        this.salePrice = salePrice;
    }

    public String getDosageCycleUnit() {
        return dosageCycleUnit;
    }

    public String getDosageCount() {
        return dosageCount;
    }

    public String getEachDosageCount() {
        return eachDosageCount;
    }

    public String getEachDoseUnit() {
        return eachDoseUnit;
    }

    public Double getDrugCycle() {
        return drugCycle;
    }

    public String getDrugCycleUnit() {
        return drugCycleUnit;
    }

    public String getQuantityUnit() {
        return quantityUnit;
    }

    public void setDosageCycle(Double dosageCycle) {
        this.dosageCycle = dosageCycle;
    }

    public void setDosageCycleUnit(String dosageCycleUnit) {
        this.dosageCycleUnit = dosageCycleUnit;
    }

    public void setDosageCount(String dosageCount) {
        this.dosageCount = dosageCount;
    }

    public void setEachDosageCount(String eachDosageCount) {
        this.eachDosageCount = eachDosageCount;
    }

    public void setEachDoseUnit(String eachDoseUnit) {
        this.eachDoseUnit = eachDoseUnit;
    }

    public void setDrugCycle(Double drugCycle) {
        this.drugCycle = drugCycle;
    }

    public void setDrugCycleUnit(String drugCycleUnit) {
        this.drugCycleUnit = drugCycleUnit;
    }

    public void setQuantityUnit(String quantityUnit) {
        this.quantityUnit = quantityUnit;
    }

    public String getUsageMethod() {
        return usageMethod;
    }

    public String getUsageTime() {
        return usageTime;
    }

    public void setUsageMethod(String usageMethod) {
        this.usageMethod = usageMethod;
    }

    public void setUsageTime(String usageTime) {
        this.usageTime = usageTime;
    }

    public boolean isContainUsageDetail() {
        return containUsageDetail;
    }

    public void setContainUsageDetail(boolean containUsageDetail) {
        this.containUsageDetail = containUsageDetail;
    }

    public String getRecomName() {
        return recomName;
    }

    public void setRecomName(String recomName) {
        this.recomName = recomName;
    }


    @Override
    public String toString() {
        return "RecomItemParamVO [productId=" + productId + ", skuId=" + skuId + ", productName=" + productName + ", commonName=" + commonName
                + ", quantity=" + quantity + ", usage=" + usage + ", backup=" + backup + ", dosageCycle=" + dosageCycle + ", dosageCycleUnit="
                + dosageCycleUnit + ", dosageCount=" + dosageCount + ", eachDosageCount=" + eachDosageCount + ", eachDoseUnit=" + eachDoseUnit
                + ", drugCycle=" + drugCycle + ", drugCycleUnit=" + drugCycleUnit + ", quantityUnit=" + quantityUnit + ", usageMethod=" + usageMethod
                + ", usageTime=" + usageTime + ", containUsageDetail=" + containUsageDetail + "，recomName=" + recomName + "，salePrice=" + salePrice + "]";
    }
}
